import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    // 用户信息
    userInfo: localStorage.getItem('userInfo') ? JSON.parse(localStorage.getItem('userInfo')) : {},
    // 侧边栏折叠状态
    isAsideMenuCollapse: false,
    // 储存用户菜单权限列表
    userMenuList: [],
    // 储存用户功能权限列表
    userActionList: [],
  },
  getters: {

  },
  mutations: {
    // 设置用户登录信息
    setUserInfo(state, userInfo) {
      // 设置用户登录信息
      state.userInfo = userInfo;
      // 将用户信息写入localStorage
      localStorage.setItem('userInfo', JSON.stringify(userInfo));
    },

    // 删除用户信息
    delUserInfo(state) {
      // 删除用户登录信息userInfo
      state.userInfo = {};
      // 删除localStorage的用户信息userInfo
      localStorage.removeItem('userInfo');
    },

    // 设置侧边栏折叠状态
    SetAsideMenuState(state, isAsideMenuCollapse) {
      // true 折叠，false 展开
      state.isAsideMenuCollapse = isAsideMenuCollapse;
    },

    // 设置用户菜单权限列表
    SetMenuList(state, userMenuList) {
      state.userMenuList = userMenuList;
    },

    // 设置用户功能权限列表
    SetActionList(state, userActionList) {
      state.userActionList = userActionList;
    },
  },
  actions: {

  },
  modules: {

  }
});
